$(function(){
	$(".menu-texts").each(function(){
		var text=$(this).text();
		if(text.length>100){
			$(this).attr("data-text",text);
			$(this).html(text.substring(0,100)+"<i onclick='showFull(this)' class='iconfont icon-more'></i>");
		}
	});
	
	/**
	 * 多选
	 */
	$(".role-resource input").change(function(){
		//选中父菜单则全选
		var target=$(this);
		var targetTr=$(this).parents("tr:first");
		
		if(targetTr.attr("class")=="father"){
			$(".role-resource tr").each(function(){
				if($(this).attr("data-id")==targetTr.attr("data-id")){
					if(target.is(":checked")){
						$(this).find("input").prop("checked","true");
					}else{
						$(this).find("input").removeAttr("checked");
					}
				}
			});
		}else if(targetTr.attr("class")=="son"){
			$(".role-resource tr").each(function(){
				if($(this).attr("data-sonid")==targetTr.attr("data-selfid")){
					if(target.is(":checked")){
						$(this).find("input").prop("checked","true");
					}else{
						$(this).find("input").removeAttr("checked");
					}
				}
			});
			if(target.is(":checked")){
				//如果当前子菜单都被选中，则父菜单选中
				var flag=true;
				$(".role-resource tr[data-id="+targetTr.attr("data-id")+"]:not(.father)").each(function(){
					if(!$(this).find("input").is(":checked")){
						flag=false;
					}
				});
				if(flag){
					$(".role-resource .father[data-id="+targetTr.attr("data-id")+"]").find("input").prop("checked","true");
				}
			}else{
				//如果当前子菜单都没被选中，则父菜单取消选中
				var flag=true;
				$(".role-resource tr[data-id="+targetTr.attr("data-id")+"]:not(.father)").each(function(){
					if($(this).find("input").is(":checked")){
						flag=false;
					}
				});
				if(flag){
					$(".role-resource .father[data-id="+targetTr.attr("data-id")+"]").find("input").removeAttr("checked");
				}
			}
		}
	});
	
	/**
	 * 提交角色表单
	 */
	$("#roleForm").form({
		url:"/role/save",
		onSubmit:function(){
			//先判空
			var inputs=$("form").find("input");
			if(!checkInputNull(inputs)){
				return false;
			}
		},
		success:function(data){
			layer.msg('保存成功',{shift: -1,time:1000}, function(){
				refreshPanel(getUrlPrefix("/role"),"角色管理");
			});
		}
	});
});

/**
 * 判断输入框是否为空
 * @returns
 */
function checkInputNull(inputs){
	var flag=true;
	inputs.each(function(){
		if($(this).val()=="" && $(this).attr("type")!="hidden"){
			layer.tips('<span style="color:#aa0000">'+'该项信息不能为空'+'</span>', $(this), {
				tips : [ 2, 'rgb(236, 228, 221)' ]
			});
			flag=false;
			return false;
		}
	});
	return flag;
}

/**
 * 展示全部文本
 * @param e
 * @returns
 */
function showFull(e){
	$(e).parent().attr("data-mintext",$(e).parent().text());
	$(e).parent().html($(e).parent().attr("data-text")+"<i onclick='hideFull(this)' class='iconfont icon-packup'></i>");
}

function hideFull(e){
	//$(e).parent().attr("data-text",$(e).parent().text());
	$(e).parent().html($(e).parent().attr("data-mintext")+"<i onclick='showFull(this)' class='iconfont icon-more'></i>");
}

/**
 * 给角色添加权限
 * @param e
 * @returns
 */
function changeAuth(e){
	var target=$(e).next();
	target.tree({
		url: '/system/menu/datas',  
        checkbox: true,
        onLoadSuccess:function(){
        	//选中已有权限
        	var id=target.attr("data-menus");
        	var arr=id.split(",");
        	if(id.split(",").length>1){
        		for (i in arr) {  
        			var node = target.tree("find", arr[i]); 
        			target.tree("check", node.target);
        		}
        	}
        }
	});
	var index=layer.open({
		  type: 1,
		  title :"授权可用资源",
		  content: target,
		  closeBtn: 0,
		  area: ['350px', '400px'],
		  btn:['保存', '关闭'],
		  yes:function(){
			  var ids=new Array();
			  $.each(target.tree('getChecked', ['checked','indeterminate']),function(){
				  ids.push(this.id);
				  //console.log(this.id);
			  });
			  $.ajax({
				  url:"/role/resource",
				  type:"post",
				  traditional: true,
				  data:{
					  id:target.attr("data-id"),
					  ids:ids
				  },
				  success:function(){
					  layer.msg('保存成功',{shift: -1,time:1000},function(){
						  layer.close(index);
						  refreshPanel(getUrlPrefix("/role"),"角色管理");
					  });
				  }
			  });
		  },
		  btn2: function(index, layero){}
	});
}